document.addEventListener('DOMContentLoaded', function() {
    // 获取所有标签项
    const tabItems = document.querySelectorAll('.tab-item');
    const contentFrame = document.getElementById('content-frame');
    
    // 为每个标签项添加点击事件监听器
    tabItems.forEach(tab => {
        tab.addEventListener('click', function() {
            // 移除所有标签项的活动状态
            tabItems.forEach(item => {
                item.classList.remove('active');
            });
            
            // 为当前点击的标签项添加活动状态
            this.classList.add('active');
            
            // 获取标签对应的页面
            const page = this.getAttribute('data-page');
            
            // 加载对应的页面
            contentFrame.src = `pages/${page}.html`;
            
            // 保存用户的标签选择
            localStorage.setItem('active-tab', page);
        });
    });
    
    // 根据URL参数或者本地存储的选择切换标签
    const params = new URLSearchParams(window.location.search);
    const tabParam = params.get('tab');
    const savedTab = localStorage.getItem('active-tab');
    
    const tabToShow = tabParam || savedTab || 'nearby';
    
    const targetTab = document.querySelector(`.tab-item[data-page="${tabToShow}"]`);
    if (targetTab) {
        targetTab.click();
    }
    
    // 监听iframe加载完成事件，向iframe传递当前语言设置
    contentFrame.addEventListener('load', function() {
        try {
            // 首先检查iframe内容是否来自同一域
            if (contentFrame.contentWindow.location.origin === window.location.origin) {
                // 获取当前语言
                const currentLanguage = i18n.getCurrentLanguage();
                
                // 向iframe发送消息
                contentFrame.contentWindow.postMessage({
                    type: 'language-change',
                    language: currentLanguage
                }, '*');
                
                // 如果iframe包含i18n对象，则应用当前语言
                if (contentFrame.contentWindow.i18n) {
                    contentFrame.contentWindow.i18n.changeLanguage(currentLanguage);
                }
            }
        } catch (error) {
            console.error('无法与iframe通信:', error);
        }
    });
    
    // 监听语言变更事件，更新iframe中的语言
    document.addEventListener('languageChanged', function(event) {
        try {
            if (contentFrame.contentWindow.location.origin === window.location.origin) {
                const language = event.detail.language;
                
                // 向iframe发送消息
                contentFrame.contentWindow.postMessage({
                    type: 'language-change',
                    language: language
                }, '*');
            }
        } catch (error) {
            console.error('语言变更通知失败:', error);
        }
    });
    
    // 在子页面中接收语言变更消息
    window.addEventListener('message', function(event) {
        // 确保消息来源可信
        if (event.origin !== window.location.origin) return;
        
        // 处理语言变更消息
        if (event.data && event.data.type === 'language-change') {
            const language = event.data.language;
            
            // 如果页面有i18n对象，应用语言变更
            if (window.i18n) {
                window.i18n.changeLanguage(language);
            }
        }
    });
}); 